(in Methode test()) Liste hercules = new Liste(); hercules -> [null, null] hercules.erschlage("Hydra"); (in Methode erschlage) this.kette = new Liste(); hercules -> [null, -> ] [null, null] this.kette.biest = monster; hercules -> [null, -> ] ["Hydra", null] (in test-Methode) hercules.erschlage("Löwe"); Was wir wollen, was passiert: hercules -> [null, -> ] ["Hydra", -> ] ["Löwe", null ] Was tatsächlich passieert: this.kette = new Liste(); hercules -> [null, => ] [null, null] this.kette.biest = monster; hercules -> [null, => ] ["Löwe", null] Neuer Ansatz: hercules -> [null, ->] ["Hydra",null] weiter = this.kette; weiter -> hercules -> [null, ->] ["Hydra",null] weiter.kette = new Liste(); weiter -> hercules -> [null, ->] ["Hydra", ->] [null, null] weiter.kette.biest = monster weiter -> hercules -> [null, ->] ["Hydra", ->] ["Löwe", null] hercules.erschlage("Minotaurus"); hercules.erschlage("Nessos"); hercules -> [null, ->] ["Hydra", ->] ["Löwe", ->] ["Minotaurus", ->] ["Nessos", null] ^ ^ ^ ^ ^- hercules.kette.kette.biest | | | |- hercules.kette.kette | | |- hercules.kette.biest | |- hercules.kette |-hercules.biest ------------------------------------------------------------------------------- Liste odysseus = new Liste(); odysseus -> [null, null] odysseus.erschlage("Zyklop"); weiter = this; weiter -> odysseus -> [null, null] while (weiter.kette != null) { weiter = weiter.kette; } weiter -> odysseus -> [null, null] weiter.kette = new Liste(); weiter -> odysseus -> [null, -> ] [null,null] weiter.kette.biest = monster; weiter -> odysseus -> [null, -> ] ["Zyklop", null] odysseus.erschlage("Circe"); weiter = this weiter -> odysseus -> [null, -> ] ["Zyklop", null] while (weiter.kette != null) { weiter = weiter.kette; } weiter -> odysseus -> [null, -> ] ["Zyklop", null] weiter.kette = new Liste(); weiter.kette.biest = monster; weiter -> odysseus -> [null, -> ] ["Zyklop", ->] ["Circe", null]